using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using Newtonsoft.Json;

namespace IO.Swagger.Model
{

    /// <summary>
    /// 
    /// </summary>
    [DataContract]
    public class PowderFeedingAlarm
    {
        /// <summary>
        /// Gets or Sets Site
        /// </summary>
        [DataMember(Name = "site", EmitDefaultValue = false)]
        [JsonProperty(PropertyName = "site")]
        public int? Site { get; set; }

        /// <summary>
        /// Gets or Sets DeviceId
        /// </summary>
        [DataMember(Name = "deviceId", EmitDefaultValue = false)]
        [JsonProperty(PropertyName = "deviceId")]
        public string DeviceId { get; set; }

        /// <summary>
        /// Gets or Sets Message
        /// </summary>
        [DataMember(Name = "message", EmitDefaultValue = false)]
        [JsonProperty(PropertyName = "message")]
        public string Message { get; set; }

        /// <summary>
        /// Gets or Sets Variety
        /// </summary>
        [DataMember(Name = "variety", EmitDefaultValue = false)]
        [JsonProperty(PropertyName = "variety")]
        public string Variety { get; set; }

        /// <summary>
        /// Gets or Sets Material
        /// </summary>
        [DataMember(Name = "material", EmitDefaultValue = false)]
        [JsonProperty(PropertyName = "material")]
        public string Material { get; set; }

        /// <summary>
        /// Gets or Sets Order
        /// </summary>
        [DataMember(Name = "order", EmitDefaultValue = false)]
        [JsonProperty(PropertyName = "order")]
        public string Order { get; set; }

        /// <summary>
        /// Gets or Sets ProcessName
        /// </summary>
        [DataMember(Name = "processName", EmitDefaultValue = false)]
        [JsonProperty(PropertyName = "processName")]
        public string ProcessName { get; set; }

        /// <summary>
        /// Gets or Sets SettingWeight
        /// </summary>
        [DataMember(Name = "settingWeight", EmitDefaultValue = false)]
        [JsonProperty(PropertyName = "settingWeight")]
        public float? SettingWeight { get; set; }

        /// <summary>
        /// Gets or Sets RealWeight
        /// </summary>
        [DataMember(Name = "realWeight", EmitDefaultValue = false)]
        [JsonProperty(PropertyName = "realWeight")]
        public float? RealWeight { get; set; }


        /// <summary>
        /// Get the string presentation of the object
        /// </summary>
        /// <returns>String presentation of the object</returns>
        public override string ToString()
        {
            var sb = new StringBuilder();
            sb.Append("class PowderFeedingAlarm {\n");
            sb.Append("  Site: ").Append(Site).Append("\n");
            sb.Append("  DeviceId: ").Append(DeviceId).Append("\n");
            sb.Append("  Message: ").Append(Message).Append("\n");
            sb.Append("  Variety: ").Append(Variety).Append("\n");
            sb.Append("  Material: ").Append(Material).Append("\n");
            sb.Append("  Order: ").Append(Order).Append("\n");
            sb.Append("  ProcessName: ").Append(ProcessName).Append("\n");
            sb.Append("  SettingWeight: ").Append(SettingWeight).Append("\n");
            sb.Append("  RealWeight: ").Append(RealWeight).Append("\n");
            sb.Append("}\n");
            return sb.ToString();
        }

        /// <summary>
        /// Get the JSON string presentation of the object
        /// </summary>
        /// <returns>JSON string presentation of the object</returns>
        public string ToJson()
        {
            return JsonConvert.SerializeObject(this, Formatting.Indented);
        }

    }
}
